package com.yidu.hbats.dao;


import com.yidu.hbats.action.Time;
import com.yidu.hbats.model.AtsSchemeExpert;
import com.yidu.utils.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface AtsSchemeExpertMapper {
    /**
     *
     * @mbg.generated 2019-10-29
     */
    int deleteByPrimaryKey(Integer seId);

    /**
     *
     * @mbg.generated 2019-10-29
     */
    int insert(AtsSchemeExpert record);

    /**
     *
     * @mbg.generated 2019-10-29
     */
    int insertSelective(AtsSchemeExpert record);

    /**
     *
     * @mbg.generated 2019-10-29
     */
    AtsSchemeExpert selectByPrimaryKey(Integer seId);

    /**
     *
     * @mbg.generated 2019-10-29
     */
    int updateByPrimaryKeySelective(AtsSchemeExpert record);

    /**
     * 根据方案外键修改
     * @param record 传一个对象
     * @return
     */
    int updateByPrimaryKeySelectiveone(AtsSchemeExpert record);
    /**
     * 根据方案外键修改
     * @param record 传一个对象
     * @return
     */
    int updateByPrimaryKeySelectiveThree(AtsSchemeExpert record);
    /**
     * 根据专家外键修改
     * @param record 传一个对象
     * @return
     */
    int updateByPrimaryKeySelectiveFour(AtsSchemeExpert record);
    /**
     *
     * @mbg.generated 2019-10-29
     */
    int updateByPrimaryKey(AtsSchemeExpert record);

    /**
     * 按条件查询
     * @param schemeId
     * @return
     */
    int selectBy(Integer schemeId);

    /**
     * 按外键查询
     * @param schemeId 方案主键
     * @return
     */
    int selectByOne(Integer schemeId);
    /**
     * 查询所有
     * @param atsSchemeExpert
     * @param pages
     * @param time
     * @return
     */
    List<AtsSchemeExpert> selectAll(@Param("atsSchemeExpert") AtsSchemeExpert atsSchemeExpert, @Param("pages") Page pages, @Param("time") Time time);




    /**
     * 根据专家id查
     * @param expertId
     * @return
     */
    List<AtsSchemeExpert> selectByPrimaryKeyThree(String expertId);

    /**
     * 根据主键查状态
     * @param seId
     * @return
     */
    AtsSchemeExpert selectByPrimaryKeyFour(int seId);

    /**
     * 根据外键查所有
     * @param schemeId
     * @return
     */
    AtsSchemeExpert selectByPrimaryKeyFive(int schemeId);

    /**
     * 查询总行数
     * @param atsSchemeExpert
     * @param time
     * @return
     */
    int selectCount(AtsSchemeExpert atsSchemeExpert, Time time);

    /**
     * 按条件查询（不分页）
     * @param atsSchemeExpert
     * @return
     */
    AtsSchemeExpert selectByselecttive(AtsSchemeExpert atsSchemeExpert);

    List<AtsSchemeExpert> findAllSIx(AtsSchemeExpert atsSchemeExpert);
    int countSIx(AtsSchemeExpert atsSchemeExpert);

    /**
     * 运动营养方案 咨询表 查询所有
     * @param atsSchemeExpert
     * @param pages
     * @param time
     * @return
     */
    List<AtsSchemeExpert> selectAllwx(@Param("atsSchemeExpert") AtsSchemeExpert atsSchemeExpert, @Param("pages") Page pages, @Param("time") Time time);

    /**
     * 运动营养方案 咨询表 查询总行数
     * @param atsSchemeExpert
     * @param time
     * @return
     */
    int selectCountwx(AtsSchemeExpert atsSchemeExpert, Time time);

    /**
     * 运动营养方案 咨询表 查询有效的
     * @param atsSchemeExpert
     * @return
     */
    List<AtsSchemeExpert> findAllSIxwx(AtsSchemeExpert atsSchemeExpert);


    /**
     * 运动康复方案 咨询表 查询有效的
     * @param atsSchemeExpert
     * @return
     */
    List<AtsSchemeExpert> findAllSIxre(AtsSchemeExpert atsSchemeExpert);

    /**
     * 查询总行数
     * @param atsSchemeExpert
     * @param time
     * @return
     */
    int selectCountre(AtsSchemeExpert atsSchemeExpert, Time time);

    /**
     * 运动营养方案 咨询表 查询有效的
     * @param atsSchemeExpert
     * @return
     */
    int countSIxwx(AtsSchemeExpert atsSchemeExpert);

    /**
     * 根据外键查询所有 yqxx
     * @param schemeId
     * @return
     */
    AtsSchemeExpert selectBySix(Integer schemeId);
}